home *** CD-ROM | disk | FTP | other *** search
- {
- SEAN PALMER
-
- > Would you mind sharing that source w/us? I would like to
- > add AVATAR support to my doors, yet don't have those FSC docs.
-
- Here are some FSC Docs I got off a FIDO echo...
-
- The basic commands are: (AVT/0 FSC-0025)
-
- <^L> - clear the current Window and set current attribute
- to default. In the basic session this means:
- Clear the screen and set its attribute to 3.
-
- <^Y> - Read two Bytes from the modem. Send the first one
- to the screen as many times as the binary value
- of the second one. This is the exception where
- the two Bytes may have their high bit set. Do
- not reset it here!
-
- <^V> <^A> <attr> - Set the color attribute to <attr>. The default
- attribute remains unchanged. However, all Text
- will be displayed in <attr> Until the next ^V^A,
- ^V^B, or ^L.
-
- <^V> <^B> - Turn the high bit of current attribute on. In
- other Words, turn blink on.
-
- <^V> <^C> - Move the cursor one line up. Do nothing, if you
- already are at the top line of the current
- Window.
-
- <^V> <^D> - Move the cursor one line down. Do nothing if you
- already are at the bottom line of the current
- Window.
-
- <^V> <^E> - Move the cursor one column to the left. Do nothing
- if you already are at the leftmost column of the
- current Window.
-
- <^V> <^F> - Move the cursor one column to the right. Do nothing
- if you already are at the rightmost column of the
- current Window.
-
- <^V> <^G> - Clear the rest of the line in the current Window
- using the current attribute (not to be confused
- With the default attribute).
-
- <^V> <^H> <row> <col> - Move the cursor to the <row> <col>
- position Within the current Window.
-
- New Commands (brief definitions) (AVT/0+ FSC-0037)
-
- <^V><^I> - Turn insert mode ON. It stays on Until any other AVT/0
- command except <^Y> and <^V><^Y> is encountered after
- which it is turned off;
-
- <^V><^J><numlines><upper><left><lower><right> - scroll area up;
-
- <^V><^K><numlines><upper><left><lower><right> - scroll area down;
-
- <^V><^L><attr><lines><columns> - clear area, set attribute;
-
- <^V><^M><attr><Char><lines><columns> - initialize area, set attribute;
-
- <^V><^N> - delete Character, scroll rest of line left;
-
- <^V><^Y><numChars><Char>[...]<count> - Repeat pattern.
-
- and here is some source I use For AVATAR codes.
- }
-
- Unit Avatar; {these Functions return avatar codes as Strings}
- Interface
-
- {AVT/0+ FSC-0025}
-
- Const
- clearScr : String = ^L;
- blink : String = ^V^B;
- up : String = ^V^C;
- dn : String = ^V^D;
- lf : String = ^V^E;
- rt : String = ^V^F;
- cleol : String = ^V^G;
-
- Function rep(c : Char; b : Byte) : String;
- Function attr(a : Byte) : String;
- Function goxy(x, y : Byte) : String;
-
- {AVT/0+ FSC-0037}
-
- Const
-
- insMode : String = ^V^I;
- delChar : String = ^V^N;
-
- Function scrollUp(n, l, t, r, b : Byte) : String;
- Function scrollDn(n, l, t, r, b : Byte) : String;
- Function clear(a, w, h : Byte) : String;
- Function fill(c : Char; a, w, h : Byte) : String;
- Function pattern(s : String; n : Byte) : String;
-
- Implementation
-
- Function rep(c : Char; b : Byte) : String;
- begin
- rep := ^Y + c + Char(b);
- end;
-
- Function attr(a : Byte) : String;
- begin
- attr := ^V^A + Char(a and $7F);
- end;
-
- Function goxy(x, y : Byte) : String;
- begin
- goxy := ^V^H + Char(y) + Char(x);
- end;
-
- Function scrollUp(n, l, t, r, b : Byte) : String;
- begin
- scrollUp := ^V^J + Char(n) + Char(t) + Char(l) + Char(b) + Char(r);
- end;
-
- Function scrollDn(n, l, t, r, b : Byte) : String;
- begin
- scrollDn := ^V^K + Char(n) + Char(t) + Char(l) + Char(b) + Char(r);
- end;
-
- Function clear(a, w, h : Byte) : String;
- begin
- clear := ^V^L + Char(a) + Char(h) + Char(w);
- end;
-
- Function fill(c : Char; a, w, h : Byte) : String;
- begin
- fill := ^V^M + c + Char(a) + Char(h) + Char(w);
- end;
-
- Function pattern(s : String; n : Byte) : String;
- begin
- pattern := ^V^Y + s[0] + s + Char(n);
- end;
-
- end.
-